// 5.2. 常量-浮点常量
/**
 * 
 * 常量是固定值，在程序执行期间不会改变。这些固定的值，又叫做字面量。
 * 常量可以是任何的基本数据类型，可分为整型数字、浮点数字、字符、字符串和布尔值。
 * 常量就像是常规的变量，只不过常量的值在定义后不能进行修改。
 * 
 * 
 * 浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。
 * 当使用小数形式表示时，必须包含整数部分、小数部分，或同时包含两者。当使用指数形式表示时， 必须包含小数点、指数，或同时包含两者。带符号的指数是用 e 或 E 引入的。
*/
#include <iostream>

int main()
{
  // int f1,f2,f3,f4,f5;
  // float f1,f2,f3,f4,f5;
  double f1,f2,f3,f4,f5;

  f1 = 3.14159;
  f2 = 314159e-5L; 
  // 注意单精度和双精度 小数位、整数位、指数位有长度限制
  // 单精度浮点值。单精度是这样的格式，1位符号，8位指数，23位小数。
  // 双精度浮点值。双精度是1位符号，11位指数，52位小数。

  // f3 = 510E; // 非法的 不完整的指数
  // f4 = 210f; // 非法的，没有小数或指数
  // f5 = .e55; // 非法的，缺少整数或分数

  std::cout << "f1:\t" << f1 << '\n'
            << "f2:\t" << f2 << '\n'
            << "f3:\t" << f3 << '\n'
            << "f4:\t" << f4 << '\n'
            << "f5:\t" << f5 << std::endl; // 0 ??

  printf("-------------end----------\n");
  return 0;
}